Domain Name Systems (DNS) are prevalent within computer networks to provide a translation service between domain names represented in a human meaningful form (such as a word, phrase, or common website name) into a format meaningful to computers (such as an Internet Protocol (IP) address).
Client devices operating within a network or over the Internet may receive a domain name from a user or other software operating on the client requesting information from a remote destination (such as a remote website) and will then query a DNS server requesting an IP address that can be used to properly access the desired information via the computer network. The DNS server will return an IP address which translates or corresponds with the received domain name without consideration of the geographic or network topology of the particular client.
In situations where only one resource is available within a network or over the Internet to service a particular client request, receiving an IP address for that resource without regard to the location of the client is acceptable. However, if multiple resources are available to service the client request (such as multiple web servers dispersed geographically or dispersed within different sub-networks within a larger network topology), a DNS server response that provides an IP address for a resource without regard to the client's location may be inefficient.
Generally speaking, accessing a network resource that is located nearer (in terms of network topology) to a client consumes fewer network resources than does accessing a network resource that is located further from the client. For example, a network resource located further away requires network traffic associated with use of the network resource to traverse additional routers, expends additional time, and increases the likelihood of a network error or failure along each point of the network traversed. In addition, a network resource located further away introduces congestion and network traffic to other areas of the network between the client and the network resource destination, and increases the turnaround time (e.g., network latency) for communications between the client and the network resource.
Conventional DNS servers do not possess information by which clients may ascertain their own location within a network topology, nor do conventional clients possess a mechanism by which they may query for information that would allow the client to determine its own location within a network topology.
Moreover, due to the ubiquitous nature of DNS servers throughout computer network and Internet infrastructure, any change to the basic protocols and operation of DNS servers could prove extremely disruptive and costly to implement, thereby reducing the likelihood that such changes, even if beneficial, would be adopted or implemented on any large scale basis.